box-sizing
box-sizing
은 요소의 크기(width
, height
)를 계산하는 방식을 결정하는 CSS 속성입니다.
기본 값은 content-box
이며, border-box
를 사용하면 레이아웃이 더 직관적으로 관리됩니다.
content-box
vs border-box
속성 | 설명 |
---|---|
content-box (기본값) | width , height 가 **콘텐츠 크기만 포함(🚨 padding , border 는 제외) |
border-box | width , height 가 padding , border 까지 포함(✅ 레이아웃 유지 쉬움) |
.box-content {
box-sizing: content-box; /* 기본값 */
width: 200px;
padding: 20px;
border: 5px solid black;
}
/* 실제 크기: 200px + 20px + 20px + 5px + 5px = 250px */
.box-border {
box-sizing: border-box; /* 전체 크기 유지 */
width: 200px;
padding: 20px;
border: 5px solid black;
}
/* 실제 크기: 200px (고정) */
✔️ content-box
는 width
가 콘텐츠만 포함하지만,
✔️ border-box
는 width
에 패딩과 보더까지 포함하여 예측 가능한 크기를 유지합니다.
box-sizing: border-box;
사용 추천웹 개발에서는 border-box
를 기본값으로 설정하는 것이 일반적입니다.
아래와 같이 CSS 초기 설정에서 적용하면 일관된 레이아웃을 유지할 수 있습니다.
* {
box-sizing: border-box;
}
✔️ 모든 요소에 border-box
적용 → 레이아웃 유지 쉬움
✔️ margin
은 여전히 별도로 계산됨